﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace XF.FM.Table
{
    //https://datatables.net/manual/server-side

    /// <summary>
    /// DataTables需要的数据格式
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class TableModel<T> : TableModel
    {
        /// <summary>
        /// 数据，一个页面加载多个数据时可能需要ToList()
        /// </summary>
        public IEnumerable<T> Data { get; set; }
    }

    /// <summary>
    /// Datatables需要返回的数据格式，不需要绑定按顺序显示
    /// </summary>
    public class TableModel
    {
        /// <summary>
        /// 绘制计数器
        /// </summary>
        public int Draw { get; set; }
        /// <summary>
        /// 总数
        /// </summary>
        public int RecordsTotal { get; set; }
        /// <summary>
        /// 过滤后的数量
        /// </summary>
        public int RecordsFiltered { get; set; }
        /// <summary>
        /// 可选。你可以定义一个错误来描述服务器出了问题后的友好提示 
        /// </summary>
        public string Error { get; set; }
        /// <summary>
        /// 数据
        /// </summary>
        //public IEnumerable Data { get; set; }
    }
    //Data的其它可选属性

    //DT_RowId string JS
    //自动绑定到 tr节点上

    //DT_RowClass string JS
    //自动把这个类名添加到 tr

    //DT_RowData object JS
    //使用 jQuery.data() 方法把数据绑定到row中，方便之后用来检索（比如加入一个点击事件）

    //DT_RowAttr object JS
    //自动绑定数据到 tr上，使用 jQuery.attr() 方法，对象的键用作属性，值用作属性的值。注意这个 需要 Datatables 1.10.5+的版本才支持



}
